1. Field of the Invention
Preferred embodiments provide a method, system, and program for using a set of standard application program interface (API) that are adopted as an industry standard, such as the W3C DOM API interfaces, in a cross-platform application program, such as a Java application program.
2. Description of the Related Art
The prior art provides various programs to allow an application on one computer to be remotely controlled from another computer. For instance, the Remote Abstract Window Toolkit (AWT) for Java** allows any Java application running on one host to display its GUI components on a remote host and to receive all the events that are posted to its component in the remote host. It allows Java applications to run unchanged in a Client/Server mode. Java applications display and interact with graphical user interface (GUI) components using the Abstract Window Toolkit (AWT). A host AWT would make AWT calls, which are then transported to a remote computer to interface with an executing Java application. In this way, a Java application may execute at a remote location and the GUI components can be provided locally. **Java and JDBC are trademarks of Sun Microsystems, Inc.; Microsoft is a registered trademark of Microsoft Corporation; OS/2 is a registered trademark of International Business Machines Corporation; Netscape is a registered trademark and Netscape Communicator, Netscape Navigator, Mozilla are trademarks of Netscape Communications Corporation.
The prior art X-protocol also provides distributed computing where an application and a user interface to the application are running on separate machines. The prior art X-protocol defines a client-server relationship. The X server component comprises the software that manages a single screen, keyboard and mouse. A client is an application that displays on the X server and is usually termed an X client or simply the application. The X client sends requests to the X server, for example a drawing or information request. The X server accepts requests from multiple clients and returns to the X client replies for information requests, user input and errors. The X client can issue requests to the X server to control the operation of the GUI interface, the X server can respond to requests from the remote application (X client), and the X server can forward the remote application (X client) an event, such as keyboard or mouse input.
With the Remote AWT network-client system, the user is limited to utilizing the GUI features offered by AWT, which are classes that implement a Java graphical user interface (GUI). One drawback to implementing the GUI in the Java look-and-feel is that the Java look-and-feel is significantly different from the look-and-feel implemented in the native operating system, such as Windows, OS/2, etc.** Thus, users running a Java program on a particular operating system platform will have to use the Java GUI interface which differs from the operating system GUI interface to which they are accustomed. These differences can discourage users from adopting Java applications, especially when other application programs, such as those implemented in C++, all use the same native API function calls to implement the native operating system GUI components. **Java and JDBC are trademarks of Sun Microsystems, Inc.; Microsoft is a registered trademark of Microsoft Corporation; OS/2 is a registered trademark of International Business Machines Corporation; Netscape is a registered trademark and Netscape Communicator, Netscape Navigator, Mozilla are trademarks of Netscape Communications Corporation.
The X protocol is typically utilized for specialized applications running in a private network. Thus, the remote user or client as well as the central server need to implement the X protocol, which requires additional setting up and specialized software. Thus, the X protocol is not suited for operating in open environments, such as the Internet.
Thus, there is a need in the art to allow Java applications to use more commonly used graphical user interface (GUI) components, other than the GUI components offered in Java tool kits, such as AWT. Further, there is a need to provide remote access to applications over an open network, such as the Internet, that does not require the implementation of specialized protocols or software.